Research on Proof-Carrying Code for Untrusted-Code Security
نویسندگان
چکیده
A powerful method of interaction between two software systems is through mobile code. By allowing code to be installed dynamically and then executed, a host system can provide a flexible means of access to its internal resources and services. There are many problems to be solved before such uses of untrusted code can become practical. For this position paper, we will focus on the problem of how to establish guarantees about the intrinsic behavior of untrusted programs. Of particular interest are the following: (1) How can the host system ensure that the untrusted code will not damage it, for example, by corrupting internal data structures? (2) How can the host ensure that the untrusted code will not use too many resources (such as CPU, memory, and so forth) or use them for too long a time period?; and, (3) How can the host make these assurances without undue effort and deleterious effect on overall system performance? Our position is that the theory of programming languages, including formal semantics, type theory, and applications of logic, are critical to solving the untrusted-code security problem. To illustrate the possibilities of programming language theory, we will briefly describe one rather extreme but promising example, which is proof-carrying code (PCC).
منابع مشابه
Paderborn Proof - Carrying Code
Proof Carrying Code is a general principle that supports to transfer code from an untrusted producer over an untrusted channel to a code consumer. The producer generates a safety proof that ensures certain properties of the program and transmits this proof together with the program to the consumer side. The consumer checks that the proof guarantees the required security properties before he exe...
متن کاملProofs of Safety for Untrusted Code
Proof-carrying code is a technique that can be used to execute untrusted code safely. A code consumer speci es requirements and safety rules which de ne the safe behavior of a system, and a code producer packages each program with a formal proof that the program satis es the requirements. The consumer uses a fast proof validator to check that the proof is correct, and hence the program is safe....
متن کاملProof Carrying Code
Proof-Carrying Code (PCC) is a technique that can be used for safe execution of untrusted code. In a typical instance of PCC, a code receiver establishes a set of safety rules that guarantee safe behavior of programs, and the code producer creates a formal safety proof that proves, for the untrusted code, adherence to the safety rules. Then, the receiver is able to use a simple and fast proof v...
متن کاملProof-Carrying Code for x86 Architectures
This paper presents an extension of Necula and Lee’s Proof-Carrying Code (PCC) system to support the x86 architecture. PCC is a security scheme which allows the safe execution of untrusted code. Untrusted code to be executed is required to be coupled with a proof that the code satisfies certain safety properties. This code-proof pair is statically checked by the client system prior to execution...
متن کاملSafe, Untrusted Agents Using Proof-Carrying Code
Proof-Carrying Code (PCC) enables a computer system to determine, automatically and with certainty, that program code provided by another system is safe to install and execute without requiring interpretation or run-time checking. PCC has applications in any computing system in which the safe, eecient, and dynamic installation of code is needed. The key idea of Proof-Carrying is to attach to th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997